package com.william.jdbcplus.core.condition.wrap;

/**
 * jdbc脚本接口
 *
 * @author niliwei
 */
public interface JdbcWrap {

    /**
     * 获取选中列脚本， 带 select
     *
     * @return
     */
    String getSelect();

    /**
     * 获取选中列片段， 不带 select
     *
     * @return
     */
    String getSelectSegment();

    /**
     * 获取表名， 带 from
     *
     * @return
     */
    String getFrom();

    /**
     * 获取表名， 不带 from
     *
     * @return
     */
    String getFromSegment();

    /**
     * 获取where条件， 带 where
     *
     * @return
     */
    String getWhere();

    /**
     * 获取where条件， 不带 where
     *
     * @return
     */
    String getWhereSegment();

    /**
     * 获取count的where条件， 带 where
     *
     * @return
     */
    String getCountWhere();

    /**
     * 获取查询count的where条件， 不带 where
     *
     * @return
     */
    String getCountWhereSegment();

    /**
     * 获取group by条件， 带 group by
     *
     * @return
     */
    String getGroupBy();

    /**
     * 获取group by条件， 不带 group by
     *
     * @return
     */
    String getGroupBySegment();

    /**
     * 获取 having 条件， 带 having
     *
     * @return
     */
    String getHaving();

    /**
     * 获取 having 条件， 不带 having
     *
     * @return
     */
    String getHavingSegment();

    /**
     * 获取 order by 条件， 带 orderby
     *
     * @return
     */
    String getOrderBy();

    /**
     * 获取 order by 条件， 不带 orderby
     *
     * @return
     */
    String getOrderBySegment();

    /**
     * 获取完整查询脚本
     *
     * @return
     */
    String getAll();

    /**
     * 获取查询count脚本
     *
     * @return
     */
    String getCount();

}
